1. Field of Invention
Methods consistent with the present invention relate to creating a domain, and more particularly, to creating a unique domain based on public key cryptography to prevent content from being illegally used by unauthorized third persons.
2. Description of the Prior Art
Development in digital and communication technologies has served to popularize a variety of audio or video content. In line with the popularization of various content, a variety of techniques for protecting the content against illegal copying and unauthorized distribution have been proposed. In particular, there have been developed technologies by which content is encrypted and only particular devices can decrypt the encrypted content using predetermined rules. For example, the techniques include a DVD content scrambling system, a content protection for recordable media (CPRM), a digital transmission content protection (DTCP), a high definition content protection (HDCP), a content protection system architecture (CPSA), a digital rights management (DRM) and the like.
Specifically, with the development of the home network field, there have been proposed techniques for protecting content on a home network. Typical examples of the techniques include “SmartRight” proposed by Thomson Corporation, “OCCAM (Open Conditional Content Access Management” proposed by Sysco Corporation and “xCP (eXtensible Content Protection) Cluster Protocol” proposed by IBM Corporation.
“SmartRight” is a technique by which each of the devices constituting a home network has a smart card including a public key certificate and a key for the home network is created by the exchange of certificates among the devices using the smart cards.
“OCCAM” is a technique by which respective devices in a home can use content by using a unique “ticket” for each piece of the content.
“xCP Cluster Protocol” is a technique based on broadcast encryption, by which the concept of a domain called a “cluster” is employed and devices belonging to the same cluster can freely use content among the devices.
FIG. 1 is a flowchart schematically illustrating an example of a content reproducing process based on “xCP Cluster Protocol” in a home network.
Devices in the home network form a cluster that corresponds to the concept of a unique domain for a home network (100). Among the devices, a device that has a media key block (hereinafter referred to as “MKB”) and can perform authorization for other devices to be registered with the cluster is called a “server.”
If a consumer purchases a device capable of reproducing content and installs it at his/her home after the cluster has been formed, the device automatically determines which cluster currently exists in his/her home. Then, the device requests that the server belonging to the previously formed cluster authenticate the device itself (110).
If the server accepts the authentication request, the server encrypts content to be sent and then transmits the encrypted content to the device that has requested the authentication (120). Then, the device receives and decrypts the encrypted content (130).
FIG. 2 is a flowchart specifically illustrating an example of the content reproducing process based on “xCP Cluster Protocol” in the home network.
A server that first connects a given home network creates a binding ID (hereinafter referred to as “IDb”) for the home network (200). An IDb may be a unique identifier for a server established at the time of manufacture of the server or arbitrarily established by a user. When an IDb is so established, a cluster identified with IDb is formed.
When a device intends to use content present in the server, the device extracts a media key (hereinafter referred to as “Km”) from a MKB of the server by using its own device key set (210). Thereafter, the device creates its own unique key Kp by using “Km” extracted in step 210 and its own identifier IDp (212).
When the device intends to go through authorization, it requests the server to authorize the device itself (214). Specifically, the device sends its own unique “IDp” (IDp derived using “Kp”), a “type” indicating the kind of device, and a hash value of the “type,” i.e. h=MAC(IDp∥type)Kp, to the server present in the cluster or an authorization server present outside the home network.
The server obtains Kp′ from Km and IDp, and checks whether a hash value, h′=MAC(IDp∥type)Kp′, which is obtained using Kp′, is identical to the value h already received from the device.
If it is determined that the value h is equal to the value h′, the server sends the device E(IDb) Kp, which is obtained by encrypting IDb using Kp, and the unique identifier IDp of the device, and then adds IDp to an authorization table of the server, “auth.tab.” The authorization for the device can be accomplished by extracting IDb from E(IDb) Kp received from the server (216).
After the device authorization is completed, the server encrypts a content to be transmitted to the device (120). A binding key (hereinafter referred to as “Kb”) is first created using IDb, auth.tab and Km (220). Here, Kb meets an equation, Kb=H[IDb⊕H[auth.tab], Km].
After Kb is created, the server encrypts the content using a title key (hereinafter referred to as “Kt”) for protecting the content (222). Meanwhile, each piece of content contains usage rule (UR) information including copy control information, information on whether the content is allowed to be distributed to the outside, a right to use the content, a valid use period, and the like. The UR information and Kt are encrypted using Kb to produce E(Kt*⊕H[UR]Kb) (224).
Meanwhile, the device receives the “auth.tab” from the server, and Kb is obtained from Kb=H[IDb⊕H[auth.tab], Km] using the previously extracted Km and IDb (230). Further, after Kt is extracted from E(Kt⊕H[UR]Kb) (232), the content received from the server is decrypted using the extracted Kt (234).
In the xCp Cluster Protocol operating as described above, all devices capable of communicating with the server can automatically join a domain without the process of selecting devices that will join the domain. Further, since IDb is fixed, the values of Kb, Kt, and the like can be calculated even when the device is put outside the domain. However, there is inconvenience in that whenever each device creates its new Kb, the device should receive the auth.tab from the server to calculate the new Kb. Accordingly, it is necessary to more securely protect content through construction of an independent home domain and involvement of a user in device authorization.